MDI maximalizacia a ClientWidth, ClientHeight

Otázka od: mstevlik@gamo.sk

30. 10. 2003 10:20

Hi all,
Rad by som vas poprosil o radu
Chcel by som do mojho potomka z TForm urobit jednu vec:
Ak je FormStyle = fsMDIChild a uzivatel si necha takyto formular
maximalizovat, tak chcem potlacit klasicke MDI maximalizovanie, ale chcem
aby sa mi okno roztiahlo
na vyuzitelnu plochu MDIformu
Zatial som to vyriesil napisanim procedury na odchyt VM_SIZE

procedure TMDIChild.WMSize(var Message: TWMSize);
begin
  if (FormStyle = fsMDIChild) and (Message.SizeType = SIZEFULLSCREEN) then
  begin
    ShowWindow(Handle, SW_SHOWNORMAL);
    Top := 0;
    Left := 0;
    Width := Application.MainForm.ClientWidth;
    Height := Application.MainForm.ClientHeight;
  end
  else
    inherited;
end;

To mi sice urobi to co chcem, ale ma to 2 problemy
1. Preblikne to
2. Application.MainForm.ClientHeight mi vracia sice ClientHeight hlavneho
formu, ale kedze mam na nom StatusBar a ToolBar, tak ich vysky vtom
zahrnute nemam  

Viete mi teda poradit ako toto vyriesit?

Stevlik Marian
ISYS programator

GAMO a.s.
Kyjevske nam. 6
974 04 Banska Bystrica
mail: mstevlik@gamo.sk
tel: +421 48 4137935, 4372111
ip-tel: 421 48 4372098
mobil: +412 905 462010
ICQ: 34893645



----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)

Odpovedá: Martin Burle

30. 10. 2003 10:53

> 2. Application.MainForm.ClientHeight mi vracia sice ClientHeight hlavneho
> formu, ale kedze mam na nom StatusBar a ToolBar, tak ich vysky vtom
> zahrnute nemam  

Ahoj, ja jsem nekde vycetl toto:

procedure TFrmCommonMDIChild.ResizeToClientExecute(Sender: TObject);
var ClientRect:TRect;
begin
{$WARNINGS OFF}
 Win32Check(Windows.GetClientRect(application.MainForm.ClientHandle,
ClientRect));
{$WARNINGS ON}
 self.BoundsRect:=ClientRect;
end;

Mam ale dojem, ze to stejne blikne...

HTH, MB





----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)

Odpovedá: dphi_forum@proces.sk

30. 10. 2003 10:28






Cava, ja som zakomentoval ShowWindow(Handle, SW_SHOWNORMAL); blikaci efekt
som neodstranil

Stano





----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)

Odpovedá: mstevlik@gamo.sk

30. 10. 2003 11:18

> Ahoj, ja jsem nekde vycetl toto:
>
> procedure TFrmCommonMDIChild.ResizeToClientExecute(Sender: TObject);
> var ClientRect:TRect;
> begin
> {$WARNINGS OFF}
> Win32Check(Windows.GetClientRect(application.MainForm.ClientHandle,
> ClientRect));
> {$WARNINGS ON}
> self.BoundsRect:=ClientRect;
> end;
>
> Mam ale dojem, ze to stejne blikne...
>
> HTH, MB

Dakujem, procedurka mi riesi tu velkost okna, ale je problem ze kedy ju
mam zavolat
Ak ju dam do tlacitka, tak to pekne roztiahne ako ma
Ale ked som ju volal vtej procedure na odchyt spravy WM_SIZE tak sa to
nesprava pekne
Viem niekde vobec odchytit, ze okna sa ma maximalizovat a toto si
obsluzit?

Stevlik Marian
ISYS programator

GAMO a.s.
Kyjevske nam. 6
974 04 Banska Bystrica
mail: mstevlik@gamo.sk
tel: +421 48 4137935, 4372111
ip-tel: 421 48 4372098
mobil: +412 905 462010
ICQ: 34893645




----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)

Odpovedá: Martin Burle

30. 10. 2003 10:44

> Dakujem, procedurka mi riesi tu velkost okna, ale je problem ze kedy ju
> mam zavolat
> Ak ju dam do tlacitka, tak to pekne roztiahne ako ma
> Ale ked som ju volal vtej procedure na odchyt spravy WM_SIZE tak sa to
> nesprava pekne
> Viem niekde vobec odchytit, ze okna sa ma maximalizovat a toto si
> obsluzit?


Urcite, nekde to tu najdes, ja ted nemam moznost se podivat. Odchytni si
zpravu WM_MAXIMIZE nebo tak nejak.

MB





----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)